1. Field
The present invention relates to a system and method for sensing and compensating for unintended joint movement of a robotic arm caused by application of a load. More particularly, the present invention relates to a system having external encoders in physical communication with robotic arm joints to sense joint movement and a computing device for calculating a compensation amount based on the sensed joint movement and sending the calculated compensation amount to a robot motor encoder to correct the position of the joint.
2. Related Art
Articulated robots have a plurality of rotary joints and are typically powered by electric motors. One common example of an articulated robot is a 6-axis articulated arm robot. A 6-axis articulated arm robot may have a base at one end, which may be rotatably attached at the first axis or joint, and an end effector on the other end, which may be rotatably attached at the sixth axis or joint. The end effector may be any attachment required for a particular automated application. For example, in a drilling system for an upper cab of an aircraft, the end effector may be a nosepiece for drilling a particular part.
In various applications, a load may be applied to the end effector. For example, in the upper cab drilling system, the applied load is a clamp-up or drilling force. Specifically, a pneumatic pressure foot may apply pressure and clamp up against a part that is to be drilled. The robot arm is intended to hold its position during this clamp-up phase, but as pressure is applied to the part, there is a reactive force against the robot arm, which can unintentionally move the robot arm slightly. This slight movement can cause nosepiece skidding, unintentionally moving the nosepiece off of its desired mark.
Robot motor encoders are encoders which are communicably coupled with a computing device to receive motion commands for actuating a motor of one of the joints of the robotic arm. Robot motor encoders may sense motion of the robot motor. However, the robot motor encoders can not monitor the actual joint motion. For example, even if a shaft of the motor does not move, an external edge portion of the joint may still move some, due to elasticity and other issues which the motor encoder can not sense. Since the robot motor encoders do not sense this external joint movement, they can not be accurately used to determine when a movement of the motor is required to correct the joint position.
Accordingly, there is a need for a system and method for maintaining or correcting the position of a robot arm when a load is applied to the robot arm that does not suffer from the problems and limitations of the prior art.